package com.qaml.mes.device.vo.eqp;

import com.qaml.mes.device.enums.HolidayApplyEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @ClassName HolidayApplyAuthVO
 * @Description 假期申请权限信息
 * @Author leikai
 * @Date 2024/3/29 0029 11:28
 * @Version 1.0
 * <p>
 * 1、首先查询当天是否有假期申请
 * 1.1 有 hasApply=true
 * 2、判断当前登录人是 点检人 还是 审核人
 * 3、是点检人
 * 3.1 canCheck=true  status = under_review  不显示及假期申请、假期申请按钮置灰
 * 3.2 canCheck=true  status = passed  显示及假期申请、假期申请按钮置灰
 * 4、是审核人
 * 4.1 canRecheck=true  status = under_review  显示及假期申请、提交和审核按钮能操作、假期申请按钮置灰
 * 4.2 canRecheck=true  status = passed  显示及假期申请、提交和审核按钮不能操作、假期申请按钮置灰
 * <p>
 * 1.2 没有 hasApply=false
 * 2、判断当前登录人是 点检人 还是 审核人
 * 3、是点检人
 * 3.1 canCheck=true 假期申请按钮可操作
 * 3.2 canCheck=false 假期申请按钮不可操作
 */
@Data
public class HolidayApplyAuthVO implements Serializable {

    private static final long serialVersionUID = -236159072557691594L;

    /**
     * 是否可申请
     */
    @ApiModelProperty(value = "是否可申请")
    private Boolean canCheck = Boolean.FALSE;
    /**
     * 是否已申请
     */
    @ApiModelProperty(value = "是否已申请")
    private Boolean hasApply = Boolean.FALSE;

    /**
     * 是否能审核
     */
    @ApiModelProperty(value = "是否能审核")
    private Boolean canRecheck = Boolean.FALSE;

    /**
     * 状态
     *
     * @see HolidayApplyEnum
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 假期申请信息
     */
    @ApiModelProperty(value = "假期申请信息")
    private HolidayApplyVO holidayApplyVO;
}